package com.schedule.config;

import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
public class RedisConfig extends CachingConfigurerSupport {

        @Bean
        //RedisConnectionFactory有springboot自动装配提供
        public RedisTemplate<Object,Object> redisTemplate(RedisConnectionFactory connectionFactory){
            RedisTemplate<Object,Object> redisTemplate=new RedisTemplate<>();

            //默认的Key序列化器为：JdkSerializationRedisSerializer
            //为setKey 重新规定序列化方法
            redisTemplate.setKeySerializer(new StringRedisSerializer());
            //为setHashKey 重新规定序列化方法
            redisTemplate.setHashKeySerializer(new StringRedisSerializer());
            redisTemplate.setConnectionFactory(connectionFactory);
            return redisTemplate;

        }
}
